package main

import (
	"github.com/gin-gonic/gin"
	"log"
	"time"
)

func main(){
	r := gin.Default()
	//r.GET("/redirect", func(c *gin.Context) {
	//	// 支持内部和外部重定向
	//	c.Redirect(http.StatusMovedPermanently, "https://www.baidu.com/")
	//})

	// 1.异步
	r.GET("/long_async", func(c *gin.Context) {
		// 需要搞一个副本
		copyContext := c.Copy()
		// 异步处理
		go func(){
			time.Sleep( 3 * time.Second)
			log.Println("异步执行:"+copyContext.Request.URL.Path)
		}()
	})
	// 2.同步
	r.GET("/long_sync", func(c *gin.Context) {
		time.Sleep( 3 * time.Second)
		log.Println("同步执行:" + c.Request.URL.Path)
	})

	r.Run(":8000")
}